package banco.negocio;

import banco.negocio.excecoes.AtributoInvalidoException;

public class Cliente {
	private String cpf;
	private String nome;

	public Cliente(String nome, String cpf) throws AtributoInvalidoException {
		setNome(nome);
		setCpf(cpf);
	}

	@Override
	public boolean equals(Object obj) {
		boolean resultado = false;
		if (obj != null && obj instanceof Cliente) {
			Cliente outro = (Cliente) obj;

			resultado = nome.equals(outro.nome) && cpf.equals(outro.cpf);
		}
		return resultado;

	}

	public String getCpf() {
		return cpf;
	}

	public String getNome() {
		return nome;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cpf == null) ? 0 : cpf.hashCode());
		result = prime * result + ((nome == null) ? 0 : nome.hashCode());
		return result;
	}

	public void setCpf(String cpf) throws AtributoInvalidoException {
		if (cpf == null) {
			throw new AtributoInvalidoException("Cpf Nulo");
		}
		this.cpf = cpf;
	}

	public void setNome(String nome) throws AtributoInvalidoException {
		if (nome == null) {
			throw new AtributoInvalidoException("Nome Nulo");
		}
		this.nome = nome;
	}

}
